package com.frcdi.qms.masterdata.mapper;

import com.frcdi.qms.masterdata.domain.Unit;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 单位Mapper接口
 *
 * @author cell
 * @date 2023-09-25
 */
public interface UnitMapper
{
    /**
     * 查询单位
     *
     * @param id 单位主键
     * @return 单位
     */
    public Unit selectUnitById(Long id);

    /**
     * 查询单位列表
     *
     * @param unit 单位
     * @return 单位集合
     */
    public List<Unit> selectUnitList(Unit unit);

    /**
     * 新增单位
     *
     * @param unit 单位
     * @return 结果
     */
    public int insertUnit(Unit unit);

    /**
     * 修改单位
     *
     * @param unit 单位
     * @return 结果
     */
    public int updateUnit(Unit unit);

    /**
     * 删除单位
     *
     * @param id 单位主键
     * @return 结果
     */
    public int deleteUnitById(Long id);

    /**
     * 批量删除单位
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUnitByIds(Long[] ids);

    /**
     * 检查名称是否唯一
     *
     * @param unitName
     * @param unitType
     * @return 结果
     */
    public Unit checkUnitNameUnique(@Param("unitName")String unitName, @Param("unitType")Long unitType);
}
